package com.grao.waterschool.human.entiry.po;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import java.io.Serializable;

@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "JWGXSJ")
public class KCHQ implements Serializable {

    /**
     * 主键数据唯一性标识  32位全局唯一编码字符串
     */

    @TableId(value = "ZJSJWYXBS", type = IdType.NONE)
    @Size(max = 32, message = "主键数据唯一性标识最大长度要小于 32")
    @NotBlank(message = "主键数据唯一性标识不能为空")
    private String zjsjwyxbs;

    /**
     * 学校代码  学校(机构)标识码，10位数字码
     */
    @TableField(value = "XXDM")
    @Size(max = 10, message = "学校代码最大长度要小于 10")
    private String xxdm;

    /**
     * 计划课程号
     */
    @TableField(value = "JHKCH")
    @Size(max = 20, message = "计划课程号最大长度要小于 20")
    private String jhkch;

    /**
     * 排课号
     */
    @TableField(value = "PKH")
    @Size(max = 20, message = "排课号最大长度要小于 20")
    private String pkh;

    /**
     * 课程号
     */
    @TableField(value = "KCH")
    @Size(max = 20, message = "课程号最大长度要小于 20")
    private String kch;

    /**
     * 课程名称
     */
    @TableField(value = "KCMC")
    @Size(max = 60, message = "课程名称最大长度要小于 60")
    private String kcmc;

    /**
     * 专业所属院系部名称(全称)
     */
    @TableField(value = "ZYSSYXBMC")
    @Size(max = 60, message = "专业所属院系部名称(全称)最大长度要小于 60")
    private String zyssyxbmc;

    /**
     * 专业名称(全称)
     */
    @TableField(value = "ZYMC")
    @Size(max = 60, message = "专业名称(全称)最大长度要小于 60")
    private String zymc;

    @TableField(value = "ZYH")
    @Size(max = 8, message = "最大长度要小于 8")
    private String zyh;

    /**
     * 年级 例:2022
     */
    @TableField(value = "NJ")
    @Size(max = 4, message = "年级最大长度要小于 4")
    private String nj;

    /**
     * 班号
     */
    @TableField(value = "BH")
    @Size(max = 10, message = "班号最大长度要小于 10")
    private String bh;

    /**
     * 班级名称(全称)
     */
    @TableField(value = "BJMC")
    @Size(max = 60, message = "班级名称(全称)最大长度要小于 60")
    private String bjmc;

    /**
     * 开课学年度 如:2001-2002
     */
    @TableField(value = "KKXND")
    @Size(max = 9, message = "开课学年度最大长度要小于 9")
    private String kkxnd;

    /**
     * 开课学期码
     */
    @TableField(value = "`KK XQM`")
    @Size(max = 1, message = "开课学期码最大长度要小于 1")
    private String kkXqm;

    /**
     * 周次  上课当前周，例如第十周:10
     */
    @TableField(value = "ZC")
    @Size(max = 2, message = "周次最大长度要小于 2")
    private String zc;

    /**
     * 星期几
     */
    @TableField(value = "XQJ")
    @Size(max = 3, message = "星期最大长度要小于 3")
    private String xqj;

    /**
     * 上课节次 本节课连续上课节次，例如一到二节:1-2:一到四节:1.4
     */
    @TableField(value = "SKJC")
    @Size(max = 5, message = "上课节次最大长度要小于 5")
    private String skjc;

    /**
     * 上课日期 格式:YYYYMMDD，如:20060412
     */
    @TableField(value = "SKRQ")
    @Size(max = 8, message = "上课日期最大长度要小于 8")
    private String skrq;

    /**
     * 格式:hhmmss，如:141503
     */
    @TableField(value = "SKSJ")
    @Size(max = 6, message = "最大长度要小于 6")
    private String sksj;

    /**
     * 教工号
     */
    @TableField(value = "JGH")
    @Size(max = 20, message = "教工号最大长度要小于 20")
    private String jgh;

    /**
     * 教学班人数
     */
    @TableField(value = "JXBRS")
    @Size(max = 5, message = "教学班人数最大长度要小于 5")
    private String jxbrs;

    /**
     * 上课地点
     */
    @TableField(value = "SKDD")
    @Size(max = 180, message = "上课地点最大长度要小于 180")
    private String skdd;

    /**
     * 教室号
     */
    @TableField(value = "JSH")
    @Size(max = 12, message = "教室号最大长度要小于 12")
    private String jsh;

    /**
     * 授课地点类别码
     */
    @TableField(value = "SKDDLBM")
    @Size(max = 2, message = "授课地点类别码最大长度要小于 2")
    private String skddlbm;

    /**
     * 选用教材出版号
     */
    @TableField(value = "XYJCCBH")
    private Integer xyjccbh;

    /**
     * 数据采集时间  格式:YYYYMMDDhhmmss,如20060412 141503表示2006年4月12日下午2时 15 分3秒
     */
    @TableField(value = "SJCJSJ")
    @Size(max = 15, message = "数据采集时间最大长度要小于 15")
    private String sjcjsj;
}
